/**banner广告对应的接口 */
var GBanner = {
    /**banner广告位数组 */
    bannerAdUnit: [
        /**游戏界面广告位 */
        "adunit-bd6f49a204626504"
    ],

    /**初始化banner 创建2组对应的banner 每组有1个banner广告位 */
    init(){
        if(!window.wx){
            return;
        }
        //当前用的广告组数
        this.usedIndex = 0;
        //每个bannner广告位创建一个banner
        for(let i = 0; i < 2; i++){
            //banner数组0和1  先用0，0 1循环交替用
            this["bannerArr" + i] = [];
            for(let index = 0; index < this.bannerAdUnit.length; index++){
                this.createOne(i, index);
            }
        }
    },
    /**根据组数i 和 广告位次序index创建对应的banner */
    createOne(i, index){
        //获取对应的广告位
        var adUnitId = this.bannerAdUnit[index];
        //默认铺满的高度
        var width = wx.getSystemInfoSync().windowWidth;
        //创建广告
        var bannerAd = wx.createBannerAd({
            adUnitId: adUnitId,
            style: {
                left: 0,
                top: 10000,
                width: width
            }
        });
        //广告拉取失败
        bannerAd.onError(err => {
            console.error("广告拉取失败", i, index, err);
            bannerAd.destroy();
        });
        //广告拉取成功
        bannerAd.onLoad(() => {
            console.warn("广告拉取成功", i, index);
            //将新创建的banner保存起来
            GBanner["bannerArr" + i][index] = bannerAd;
        });
    },
    /**=> 更新banner，摧毁已有的banner，创建新的banner */
    updata(){
        if(!window.wx){
            return;
        }
        for(let index = 0; index < this["bannerArr" + this.usedIndex].length; index++){
            this["bannerArr" + this.usedIndex][index].destroy();
        }
        //重新创建此组banner
        for(let m = 0; m < this.bannerAdUnit.length; m++){
            this.createOne(this.usedIndex, m);
        }
        //变更选中的数组
        this.usedIndex = Number(!this.usedIndex);
    },
    /**显示banner   
     * index banner的编号 0
    */
    show(index){
        if(!window.wx){
            return;
        }
        //先关闭其他banner
        this.hide();
        //显示新的banner
        var banner = this["bannerArr" + this.usedIndex][index];
        if(!banner){
            return;
        }
        //获取手机相关信息
        var info = wx.getSystemInfoSync();
        var windowWidth = info.windowWidth;
        var windowHeight = info.windowHeight;
        //banner信息
        var realWidth = banner.style.realWidth;
        var realHeight = banner.style.realHeight;
        //计算banner底部居中对应的尺寸信息
        var top = windowHeight - realHeight;
        //iPhone X系列机型调整
        if(info.model.indexOf("iPhone X") > -1 || info.model.indexOf("unknown") > -1 || info.model.indexOf("iPhone XS") > -1){
            top -= 20;
        }
        var left = (windowWidth - realWidth)/2;
        //设置banner位置
        banner.style.top = top;
        banner.style.left = left;
        banner.show();
    },
    /**隐藏此组所有banner */
    hide(){
        if(!window.wx){
            return;
        }
        for(let index = 0; index < this["bannerArr" + this.usedIndex].length; index++){
            this["bannerArr" + this.usedIndex][index].hide();
        }
    },
};

window.GBanner = GBanner;
//开始创建banner广告
GBanner.init();